package com.jhws.sys.user.service;

import java.util.List;
import java.util.Map;

import com.jhws.business.comm.bo.TblCommDimBo;
import com.jhws.sys.menu.bo.MenuObject;
import com.jhws.sys.menu.bo.TblMenuDimBo;
import com.jhws.sys.user.bo.TblUserDimBo;
import com.jhws.sys.user.bo.UserPerms;

public interface ITblUserDimService
{
	public abstract TblUserDimBo findTblUserDimById(String UserId);
	
	public abstract TblUserDimBo getUserByName(String username) throws Exception;

	public abstract List<TblUserDimBo> findTblUserDimByWhere(String whereClause);

	public abstract void removeUserDim(String UserId);
	
	public abstract void save(TblUserDimBo bo) throws Exception;
	
	public abstract boolean login(String loginName, String loginPwd);
	
	public abstract boolean findPassword(String emailAddress, String telNum);
	
	public abstract TblUserDimBo getLoginUserInfo(String loginName);
	
	public abstract TblUserDimBo currentUser();
	
	public abstract List<MenuObject> getUserMenus(TblUserDimBo userInfo) throws Exception;
	
	public abstract List<TblCommDimBo> getUserComms(TblUserDimBo userInfo) throws Exception;

    public String getUserCommsSqlStr(TblUserDimBo userInfo);

	public abstract Map<String, Object> findUserList(String logName,String commCode,String roleName) throws Exception;

	String checkCommCodePermission(String commCode) throws Exception;

	public List<String> findUserPerms(String userCode);

	public List<String> getPlatformPerms();

	void saveUserPerms(UserPerms userPerms);

	List<TblMenuDimBo> findUserPermsObjects(String userCode);
}
